package com.cloudkinto.service.finance;

import com.baomidou.mybatisplus.extension.service.IService;
import com.cloudkinto.common.web.PageResult;
import com.cloudkinto.common.web.SingleResult;
import com.cloudkinto.entity.CostRecordDo;
import com.cloudkinto.service.dic.vo.LanguageValueEntity;
import com.cloudkinto.service.finance.vo.CostRecordListRes;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * service接口
 * </p>
 *
 * @author ding
 * @since 2020-06-10
 */
public interface CostRecordService extends IService<CostRecordDo> {

    SingleResult addInit();

    Object add(Object req, Long userId);

    boolean add(int type, String content, double cost, Long shopId, Long companyId, Long thirdId);

    boolean add(int type, String content, double cost, Long shopId, Long companyId, Long thirdId, Integer status);

    boolean update(Long id, Integer status, double cost);

//    boolean addRmb(int type, String content, double cost, Long shopId, Long companyId, Long thirdId);

    SingleResult updateInit(Long id);

    Object update(Object updateVo, Long userId);

    int delete(Long id, Long userId);

    Object detail(Long id);

    SingleResult pageInit();

    List<LanguageValueEntity> getFeeType();

    List<CostRecordListRes> getList(Map<String, String> map);

    PageResult getListPage(Map<String, String> map);

    void exportExcel(Map<String, String> map, HttpServletResponse response) throws IOException;

    boolean addExchange(int i, String s, double abs, double after, long l, Long companyId);
}
